// f_joignabilite.h	0.1	<2012-03-06>	<QUEDREUX steve>
#ifndef F_JOIGNABILITE_H
#define F_JOIGNABILITE_H

#include <QMainWindow>
#include "thread_joignabilite.h"
#include "f_bdd.h"
#include <QCloseEvent>
#include <QString>
#include <QTimer>
#include <fstream>
#include <iostream>
#include <QVector>
namespace Ui {
    class F_Joignabilite;
}

class F_Joignabilite : public QMainWindow
{
    Q_OBJECT

protected:
// METHODEs -----------------------------------------------------------------
    void closeEvent(QCloseEvent* event);

public:
// METHODEs -----------------------------------------------------------------
    void MettreAJourFichierDeLog(QString) ;
// CONSTRUCTEURs et DESTRUCTEURs
    explicit F_Joignabilite( QWidget *parent = 0);
    ~F_Joignabilite();



// ATTRIBUTs ----------------------------------------------------------------
    Thread_Joignabilite threadDeJoignabilite ;
    QVector <InfoJoignabilite> ListeMaterielsASurveiller;

private slots:
// METHODEs -----------------------------------------------------------------
    void Slot_AfficherPingReussi(QString) ;
    void Slot_GererErreurDelaiDepasse(QString) ;
    void Slot_GererBarreDeProgression(int) ;
    void on_Bt_LancerSurveillance_clicked();
    void on_Bt_ArreterSurveillance_clicked();
    void Slot_GererPeriodicite() ;
    void OuvrirFichierDeLog() ;
    void ImprimerFenetreJoignabilite() ;

signals:
    void Signal_EnvoyerIpSource(QString) ;

private:
// ATTRIBUTs ----------------------------------------------------------------
    Ui::F_Joignabilite * ui ;
    const char * cNomDufichierLog ;
    std::ofstream FichierLog ;
    bool bErreurDePing ;
    QTimer * timer ;
    int  nNombreMaxMateriels ;
    QHostAddress AdresseIpSource ;
// METHODEs -----------------------------------------------------------------
    void AlerterAdministrateur() ;

};

//------------------------------------------------------------------------------
#endif // F_JOIGNABILITE_H
//------------------------------------------------------------------------------
